From: Robert Mader Date: Sat, 8 Jan 2022 13:44:23 +0000 (+0100) Subject: ControlsManager: Propagate unmap before hiding the WorkspacesDisplay X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~536^2^2~2 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=ee41dfdb8c02bd808b458e093d426e772810f29c;p=gnome-shell.git ControlsManager: Propagate unmap before hiding the WorkspacesDisplay Hiding the `WorkspacesDisplay` triggers a reallocation of the `ControlsManagerLayout` which can fail with the following error: ``` JS ERROR: TypeError: workspace is undefined _getSpacing@resource:///org/gnome/shell/ui/workspacesView.js:229:13 vfunc_allocate@resource:///org/gnome/shell/ui/workspacesView.js:355:18 vfunc_allocate@resource:///org/gnome/shell/ui/overviewControls.js:200:33 vfunc_hide@resource:///org/gnome/shell/ui/workspacesView.js:1070:38 vfunc_unmap@resource:///org/gnome/shell/ui/overviewControls.js:672:33 hideOverview@resource:///org/gnome/shell/ui/layout.js:312:28 _hideDone@resource:///org/gnome/shell/ui/overview.js:617:32 onComplete@resource:///org/gnome/shell/ui/overview.js:390:37 _makeEaseCallback/<@resource:///org/gnome/shell/ui/environment.js:134:13 _easeActorProperty/<@resource:///org/gnome/shell/ui/environment.js:298:60 ``` This can be reproduced by closing the overview with the three-finger gesture. Thus propagate the unmap before hiding the `WorkspacesDisplay`. Part-of: --- diff --git a/js/ui/overviewControls.js b/js/ui/overviewControls.js index 6cbaa22ba..7a77b3250 100644 --- a/js/ui/overviewControls.js +++ b/js/ui/overviewControls.js @@ -669,8 +669,8 @@ class ControlsManager extends St.Widget { } vfunc_unmap() { - this._workspacesDisplay.hide(); super.vfunc_unmap(); + this._workspacesDisplay.hide(); } animateToOverview(state, callback) {